\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{times}
\usepackage{fullpage}
\raggedright
\setlength{\tabcolsep}{0in}

\setlength{\textheight}{23cm}
\setlength{\oddsidemargin}{-6mm}
\setlength{\textwidth}{6.95in}


\setlength{\textfloatsep}{2pt} 
\setlength{\abovecaptionskip}{1pt}
\setlength{\belowcaptionskip}{1pt}
\setlength{\floatsep}{2pt}
\setlength{\dblfloatsep}{2pt}
\setlength{\dbltextfloatsep}{2pt} 

\setlength{\leftmargini}{12pt}
\setlength{\leftmarginii}{10pt}
\setlength{\leftmarginiii}{10pt}

\setlength{\parskip}{0pt plus0pt minus2pt}

\usepackage{enumitem}
\setlist[itemize]{noitemsep}

\begin{document}




\begin{center}
\Large \textbf{HLBS: A Random Read/Write Distributed Storage System Based on HDFS} \normalsize \\
\small \textbf{Weiwei Jia} \normalsize \\
School of Computer Science\\
Northwestern Polytechnical University\\
\small \textit{Homepage}: \texttt{http://www.jiaweiwei.com}\\
\small \textit{Email}: \texttt{harryxiyou@gmail.com} ~ \small \textit{Mobile}: \texttt{+852-63394657/+86-18729547284}
\end{center}






\paragraph{}
With the continuous increasing of computing and data storage requirements,
traditional distributed system architectures have changed in last decade
very much. To enable high reliability, availability and scalability storage
of huge amount of data upon lower cost hardware, Apache organization has
developed a new open source distributed file system \textit{Hadoop Distributed File System (HDFS)},
which borrows the idea from \textit{Google File System}.
Since the born of HDFS, it has been adopted in lots of commercial and academic
systems. However, HDFS only provides once-write-many-read semantics so that applications
requiring random read/write semantics could not run upon HDFS. One typical
example is back-end storage for virtual machine like Sheepdog.

	
\paragraph{}
For these kinds of applications, local file systems could not provide enough space,
high reliability, availability and scalability. To solve
this problem, many projects have been launched. For instance, Amazon has developed
a commercial system named Elastic Block Storage, which could be applied for
many kinds of applications including virtual machine back-end storage. The
laboratory of \textit{NTT Corporation (Nippon Telegraph and Telephone Corporation)} in Japan
has developed Sheepdog system, which is an open source back-end storage system
designed especially for \textit{Quick EMUlator/Kernel Virtual Machine (QEMU/KVM)} virtual machine. Random read/write data access semantics
are supported in these systems.


\paragraph{}
Compared with above projects, we propose a different approach to solve the problem.
In our solution, we implement a new open source back-end storage system, which
provides random read/write data access semantics based on HDFS not requiring to modify
the source codes of HDFS by borrowing the idea of \textit{Log-Structured File System (LFS)}.
For this reason, we name our system as \textit{HDFS based Log-Structured Block Storage system (HLBS)}. To achieve
high reliability and availability of HLBS, we implement linear and tree snapshot
subsystem based on the natural ability of LFS. To save storage space, we support
block-level compression and garbage collection mechanisms. To improve I/O
performance, we implement HLBS cache mechanism. What's more, we have developed many
HLBS patches to support \textit{XEN}, \textit{Network Block Device (NBD)}, \textit{QEMU/KVM},
\textit{Openstack}, \textit{Libvirt} and \textit{Internet Small Computer System Interface(iSCSI)} for more applications.
HLBS would support Google's Ganeti project in the future.























\end{document}
